_v_a_l_u_e Specifies coverage of the modification mask. Clamped to the
range [0, 1]; zero implies no coverage, and one implies full
coverage.
_i_n_v_e_r_t GGGGLLLL____FFFFAAAALLLLSSSSEEEE to use the modification mask implied by _v_a_l_u_e; GGGGLLLL____TTTTRRRRUUUUEEEE
to use the bitwise inverse of that mask.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS defines a mask to modify the coverage of multisampled
pixel fragments. This capability is used for antialiased screen-door
transparency and smooth transitions between two renderings of an object
(often for level-of-detail management in simulation systems).
When multisampling is enabled (see ffffggggllllEEEEnnnnaaaabbbblllleeee with argument
GGGGLLLL____MMMMUUUULLLLTTTTIIIISSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIISSSS) a ``fragment mask'' is computed for each fragment
generated by a primitive. This mask reflects the amount of the pixel
covered by the fragment, and determines the frame buffer samples that may
be affected by the fragment.
If conversion of alpha values to masks is enabled (ffffggggllllEEEEnnnnaaaabbbblllleeee with
argument GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____MMMMAAAASSSSKKKK____SSSSGGGGIIIISSSS), the fragment alpha value is used
to generate a temporary modification mask which is then ANDed with the
fragment mask. One way to interpret this is as a form of dithering: a
multivalued alpha (coverage or opacity) for the whole fragment is
converted to simple binary values of coverage at many locations (the
samples).
After conversion of alpha values to masks, if replacement of alpha values
is enabled (ffffggggllllEEEEnnnnaaaabbbblllleeee with argument GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____OOOONNNNEEEE____SSSSGGGGIIIISSSS), the
fragment's alpha is set to the maximum allowable value.
Finally, if fragment mask modification is enabled (ffffggggllllEEEEnnnnaaaabbbblllleeee with
argument GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____MMMMAAAASSSSKKKK____SSSSGGGGIIIISSSS), ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS defines an additional
modification mask. _v_a_l_u_e is used to generate a modification mask in much
the same way alpha was used above. If _i_n_v_e_r_t is GGGGLLLL____TTTTRRRRUUUUEEEE, then the
modification mask specified by _v_a_l_u_e will be inverted. The final
modification mask will then be ANDed with the fragment mask resulting
from the previous steps. This can be viewed as an ``override'' control
that selectively fades the effects of multisampled fragments.
Note that ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS(_v_a_l_u_e, GGGGLLLL____TTTTRRRRUUUUEEEE) is not necessarily equivalent
to ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS(1.0-_v_a_l_u_e, GGGGLLLL____FFFFAAAALLLLSSSSEEEE); due to round-off and other
issues, complementing the coverage will not necessarily yield an inverted
modification mask.
NNNNOOOOTTTTEEEESSSS
ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS is part of the SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee extension, not part of
the core GL command set. If GGGGLLLL____SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee is included in the
string returned by ffffggggllllGGGGeeeettttSSSSttttrrrriiiinnnngggg, when called with argument GGGGLLLL____EEEEXXXXTTTTEEEENNNNSSSSIIIIOOOONNNNSSSS,
extension SSSSGGGGIIIISSSS____mmmmuuuullllttttiiiissssaaaammmmpppplllleeee is supported by the connection.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllSSSSaaaammmmpppplllleeeeMMMMaaaasssskkkkSSSSGGGGIIIISSSS is executed
between the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
ffffggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____MMMMUUUULLLLTTTTIIIISSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIII, GGGGLLLL____SSSSAAAAMMMMPPPPLLLLEEEE____AAAALLLLPPPPHHHHAAAA____TTTTOOOO____MMMMAAAASSSSKKKK,